// BuildWizDlg.h : header file
//

#if !defined(AFX_BUILDWIZDLG_H__4601F6CE_F857_476C_9EE0_A46606F606FD__INCLUDED_)
#define AFX_BUILDWIZDLG_H__4601F6CE_F857_476C_9EE0_A46606F606FD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include "XListCtrl\XListCtrl.h" 
#include "BWSetting.h"
#include "MsgOutPut.h"
#include "Redirect.h"
#include "DialogHeader.h"
#include "TraceCollector.h"			// PipeLine for get Devenv Output.

#include "ResizeDlg.h"
#include "SplitterControl.h"

/////////////////////////////////////////////////////////////////////////////
// CBuildWizDlg dialog

class CBuildWizDlg : public CResizeDlg
{
// Construction
public:
	void InstallFileWatching(LPCSTR lpszFile);
	void ResetSplitterRange();
	void SaveItemStatus();
	void SaveXmlItemStatus();
	void ReFreshItemStatus();
	BOOL m_bStopped;
	BOOL RunScript(LPCTSTR lpCmdl, int nItem = -1);
	void InitBuildEnv();
	void UpdateControls(BOOL bForceStop = FALSE);
	void ShowDetails();
	void FillListCtrl(CXListCtrl *pList);
	void InitListCtrl(CXListCtrl *pList);
	CBuildWizDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CBuildWizDlg)
	enum { IDD = IDD_BUILDWIZ_DIALOG };
	CMsgOutPut	m_log;
	CXListCtrl	m_List;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBuildWizDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON			m_hIcon;
	CBWSetting		m_objSet;
	CRedirect		*m_pRedirect;
	CImageList		m_Images;
	CSplitterControl     m_wndSplitter; 

	// Generated message map functions
	//{{AFX_MSG(CBuildWizDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnEdit();
	afx_msg void OnDetail();
	afx_msg void OnReload();
	afx_msg void OnBuild();
	afx_msg void OnStop();
	afx_msg void OnDestroy();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDropFiles(HDROP hDropInfo);
	afx_msg HRESULT OnFileChange(WPARAM wParam, LPARAM lParam);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
	
	//Member Variables
protected:
	UINT m_nBestCX;
	void DoResize1(int delta);
	CDialogHeader m_HeaderCtrl;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BUILDWIZDLG_H__4601F6CE_F857_476C_9EE0_A46606F606FD__INCLUDED_)


